package com.whalefin.persistence;

import com.whalefin.domain.Advertise;

import java.util.List;

/**
 * 用户相关 Table =  Reply
 *
 * @author sf
 */
public interface AdvertiseMapper {

    /**
     * 根据用户id查询广告(2公里以内)
     * @param userId
     * @return
     */
    public List<Advertise> queryAdvertisesByUserId(Integer userId, String today, String tomorrow);

    /**
     * 我的发布，查询我发布的广告
     * @param userId
     * @return
     */
    public List<Advertise> queryAdvertisesById(Integer userId);

//    /**
//     * 根据用户id查询广告总数(2公里以内)
//     * @param userId
//     * @return
//     */
//    public int advertisesTotalCount(Integer userId);
//
    /**
     * 添加广告
     * @param advertise
     * @return
     */
    public int addAdvertise(Advertise advertise);
//
    /**
     * 通过学校编号查询所有广告按时间倒叙排列
     * @return
     */
    public List<Advertise> queryAllAdvertise(String schoolNum);

    /**
     * 查询所有广告
     * @return
     */
    public List<Advertise> queryAdvertise();

    /**
     * 查询所有广告分页
     * @param schoolNum
     * @param startIndex
     * @param pageSize
     * @return
     */
    public List<Advertise> queryAllAdvertiseByPage(String schoolNum,Integer startIndex,Integer pageSize);

    /**
     * 根据广告id查询对应广告信息
     * @param advertiseId
     * @return
     */
    public Advertise queryAdvertisesByAdvertiseId(Integer advertiseId);

    /**
     * 用户阅读广告，记录用户id，计算阅读数
     * @param advertiseId
     * @param totaluserId
     * @return
     */
    public int updateTotalUserId(Integer advertiseId, Integer totaluserId);

    /**
     * 广告分页，总数
     * @param schoolNum
     * @return
     */
    public int totalAdCount(String schoolNum);


    /**
     *
     * 以下方法后台使用
     */

    public int totalCountAd();//查询广告总数

    public List<Advertise> queryAllAdvertises(Integer indexPage, Integer pageSize);//分页查询所有广告

    public int totalCountByCondition(Advertise advertise);//根据条件查询广告总数

    public List<Advertise> queryAllAdvertiseByCondition(Advertise advertise);//根据条件查询 广告

    public int updateStatus(Integer id, String status);//跟新广告状态

}
